/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

TOPIC相关 API
流数据总线topic相关信息接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef StreambusApiModel_h
#define StreambusApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKStreambus/StreambusModel.h>


@interface StreambusGetConsumerGroupListRequest:JDCloudRequest

/// 主题id
@property (strong,nonatomic,nonnull)  NSNumber*  topicId;
-(id) initWithRegion:(NSString *)regionId
topicId:(NSNumber*)topicId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicId:(NSNumber*)topicId;

@end

@interface StreambusDeleteConsumerGroupRequest:JDCloudRequest

/// 主题ID
@property (strong,nonatomic,nonnull)  NSNumber*  topicId;
/// 消费组ID
@property (strong,nonatomic,nonnull)  NSNumber*  consumerGroupId;
-(id) initWithRegion:(NSString *)regionId
topicId:(NSNumber*)topicId
consumerGroupId:(NSNumber*)consumerGroupId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicId:(NSNumber*)topicId
consumerGroupId:(NSNumber*)consumerGroupId;

@end

@interface StreambusDeleteConsumerGroupResult : NSObject
/// Message
 @property (strong,nonatomic,nonnull)  NSString*  message;
/// Status
 @property (strong,nonatomic,nonnull)  NSNumber*  status;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithMessage:(NSString*) message

    status:(NSNumber*)status;
@end

@interface StreambusCreateConsumerGroupResult : NSObject
/// Message
 @property (strong,nonatomic,nonnull)  NSString*  message;
/// Status
 @property (strong,nonatomic,nonnull)  NSNumber*  status;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithMessage:(NSString*) message

    status:(NSNumber*)status;
@end

@interface StreambusUpdateTopicResult : NSObject
/// Status
 @property (strong,nonatomic,nonnull)  NSNumber*  status;
/// 状态信息
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithStatus:(NSNumber*) status

    message:(NSString*)message;
@end

@interface StreambusGetTopicListRequest:JDCloudRequest

/// Keyword
@property (strong,nonatomic,nonnull)  NSString*  keyword;
-(id) initWithRegion:(NSString *)regionId
keyword:(NSString*)keyword;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keyword:(NSString*)keyword;

@end

@interface StreambusDeleteTopicResult : NSObject
/// Status
 @property (strong,nonatomic,nonnull)  NSNumber*  status;
/// 状态信息
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithStatus:(NSNumber*) status

    message:(NSString*)message;
@end

@interface StreambusDescribeTopicRequest:JDCloudRequest

/// Name
@property (strong,nonatomic,nonnull)  NSString*  name;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name;

@end

@interface StreambusAddTopicResult : NSObject
/// Status
 @property (strong,nonatomic,nonnull)  NSNumber*  status;
/// 状态信息
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithStatus:(NSNumber*) status

    message:(NSString*)message;
@end

@interface StreambusDeleteTopicRequest:JDCloudRequest

/// Name
@property (strong,nonatomic,nonnull)  NSString*  name;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name;

@end

@interface StreambusCreateConsumerGroupRequest:JDCloudRequest

/// 消费组对象
@property (strong,nonatomic,nonnull)  ConsumerGroup*  consumerGroupStr;
-(id) initWithRegion:(NSString *)regionId
consumerGroupStr:(ConsumerGroup*)consumerGroupStr;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
consumerGroupStr:(ConsumerGroup*)consumerGroupStr;

@end

@interface StreambusDeleteConsumerGroupResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property StreambusDeleteConsumerGroupResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(StreambusDeleteConsumerGroupResult*) result;
@end

@interface StreambusCreateConsumerGroupResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property StreambusCreateConsumerGroupResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(StreambusCreateConsumerGroupResult*) result;
@end

@interface StreambusGetConsumerGroupListResult : NSObject
/// ConsumerGroup
 @property (strong,nonatomic,nonnull)  NSArray<ConsumerGroup*>*  consumerGroup;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithConsumerGroup:(NSArray<ConsumerGroup*>*) consumerGroup;
@end

@interface StreambusGetConsumerGroupListResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property StreambusGetConsumerGroupListResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(StreambusGetConsumerGroupListResult*) result;
@end

@interface StreambusDescribeTopicResult : NSObject
/// Topic
 @property (strong,nonatomic,nonnull)  TopicModel*  topic;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithTopic:(TopicModel*) topic;
@end

@interface StreambusDescribeTopicResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property StreambusDescribeTopicResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(StreambusDescribeTopicResult*) result;
@end

@interface StreambusAddTopicRequest:JDCloudRequest

/// 示例：{&quot;topicModel&quot;:{&quot;topic&quot;:{&quot;archived&quot;:0,&quot;id&quot;:&quot;&quot;,&quot;name&quot;:&quot;create&quot;,&quot;remark&quot;:&quot;备注&quot;,&quot;shardNum&quot;:1,&quot;partitionNum&quot;:2,&quot;lifecycle&quot;:3}}}
@property (strong,nonatomic,nonnull)  TopicModel*  topicModel;
-(id) initWithRegion:(NSString *)regionId
topicModel:(TopicModel*)topicModel;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicModel:(TopicModel*)topicModel;

@end

@interface StreambusUpdateTopicRequest:JDCloudRequest

/// 当更新主题时只需要修改topicModel中的topic中的属性即可；创建归档需要指定target以及归档的目的地(mysql,京东云 Elasticsearch,对象存储,数据计算服务)参数
@property (strong,nonatomic,nonnull)  TopicModel*  topicModel;
-(id) initWithRegion:(NSString *)regionId
topicModel:(TopicModel*)topicModel;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
topicModel:(TopicModel*)topicModel;

@end

@interface StreambusAddTopicResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property StreambusAddTopicResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(StreambusAddTopicResult*) result;
@end

@interface StreambusGetTopicListResult : NSObject
/// Topic
 @property (strong,nonatomic,nonnull)  NSArray<TopicListInfo*>*  topic;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithTopic:(NSArray<TopicListInfo*>*) topic;
@end

@interface StreambusGetTopicListResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property StreambusGetTopicListResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(StreambusGetTopicListResult*) result;
@end

@interface StreambusUpdateTopicResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property StreambusUpdateTopicResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(StreambusUpdateTopicResult*) result;
@end

@interface StreambusDeleteTopicResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property StreambusDeleteTopicResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(StreambusDeleteTopicResult*) result;
@end

#endif /* StreambusApiModel_h */
